﻿/*
Fibonacci数 
Time Limit:1000MS  Memory Limit:32768K


Description:
有一些整数（≤46），输出以这些整数为序数的第n项fibonacci数。文件中的数据可能上万，但要求运行时间不超过1秒钟。 

Sample Input:
5
6
7
8
9
40
Sample Output:
5
8
13
21
34
102334155

*/
#include <algorithm>
#include <vector>
#include <iostream>
using namespace std;
#define MAX_ELEMS 64


unsigned long fibonacci(unsigned long f[], int n)
{
	int i;

	if(n<=2)
		return 1;
	else
		for (f[0]=f[1]=1,i=2; i<=n; ++i)
			f[i]=f[i-1]+f[i-2];
	return f[n];
	
}

int main(int argc, char* argv[])
{
	unsigned long f[MAX_ELEMS]={1,1,0};
	vector<int> vints;
	int num;

	while (cin>>num&&num<47)
		vints.push_back(num);

	fibonacci(f, *max_element(vints.begin(), vints.end()));
	for (vector<int>::iterator it=vints.begin(); it!=vints.end(); ++it)
		cout<<f[*it-1]<<endl;

	return 0;
}